Networks are designed to connect machines, such as computers and other devices, to other machines at other locations. With the advent of affordable high-bandwidth network connections, businesses and users have started to use networks to transfer bandwidth consuming multimedia content, such as news broadcasts, video conferences, audio and/or visual data, such as animations, voice, telephony, television, etc., and other transmittable data.
Storage and transmission requirements for content is not trivial. For example, a 30 second audiovisual content, at low resolution, may require several megabytes of data storage. Consequently, rather than requiring a client's media player to download an entire content before playing it, instead protocols were developed to allow content to be “streamed” to a client's player, e.g., the RealPlayer™ provided by Real Networks of Seattle, Wash., the Windows Media Player provided by Microsoft Corporation of Redmond, Wash., or players by Apple Computer, International Business Machines (IBM), Silicon Graphics, Sun Microsystems, etc., in real (or near-real) time.
Costly hardware, software expertise is required to maximize quality of service for streamed media. Therefore, businesses often use third-party media service vendors to provide content on behalf of a business. Typically the business requires the media service vendor to guarantee a minimum quality of service that is received by the client. For example, to maintain a respected public image, a high profile news company would require a certain level of quality of broadcasts received by a client.
Determining received quality of service currently requires a recipient of content to execute an application program designed to extract portions from received content for comparison with corresponding portions of content transmitted by a server. However, requiring execution of the application program introduces undesirable computational and resource overhead for the client, privacy concerns, as well as a communication burden inherent to the client or server having to transmit to the other party a portion of content for use in the comparison. That is, to perform a comparison, either the client sends a received content portion to the server, or the server sends a sent content portion to the client.